﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Game1942.Library.Background;

namespace Game1942.Library
{
	// Items are derived from this class
    public abstract class Element
    {
        protected Position position;

        protected Element()
        {
            position = new Position(this);
        }

        //Esto hay que verlo
        public abstract void CrashWith(Element intruder);

        public abstract int HarmSomebody(int enemyEnergy);

        //Check consistency
        
        public Point ActualPosition
        {
            get { return position.Value; }
        }

        public bool Located
        {
            get { return position.Located; }
        }

        public Point Dimension
        {
            get { return position.Dimension; }
        }

        public abstract bool IsEnemy(Element intruder);
        public abstract bool IsEnemy(bool playerteam);
    }
}
